Field of the Invention
This invention relates to computer processors and, more particularly, to methods and apparatus for increasing the speed of operation of such processors.
History of the Prior Art
Computer designers are continually attempting to make computers run faster. One way in which this may be accomplished is to make the computer process instructions faster.
Intel Corporation manufactures a line of microprocessors including the 8086, 8088, 80286, i386.TM., and i486.TM. microprocessors (hereinafter referred to as the Intel microprocessors) which are used in the great majority of the personal computers presently manufactured. The instructions used by the Intel microprocessors are quite complicated. For example, instructions can vary in length from one to fifteen bytes. An instruction may be as simple as a single byte of opcode. On the other hand, an instruction may have a prefix field of from zero to four bytes, an opcode field of one byte, a ModR/M field of one byte, a SIB field of one byte, a displacement field of up to four bytes, and an immediate field of up to four bytes. The details of the individual elements of instructions are described in i486 Microprocessor, Programmer's Reference Manual, published by Osborne McGraw-Hill, 1990, pp. 26-1 et seq.
The opcode portion of the instruction specifies the operation to be performed by the instruction. A prefix precedes and somehow modifies what the opcode instruction normally accomplishes. One prefix varies the meaning of the opcode for an instruction and may cause the opcode to indicate a jump instruction. When a prefixed instruction is encountered by the decoding unit of prior art Intel microprocessors, the prefix bytes are handled by the decode unit separately; and each byte of prefix requires one clock period to decode. While the prefix bytes, if they exist, each take a clock period to decode, the opcode, MODR/M, SIB, displacement, and immediate bytes are all captured and decoded together in the same clock period. In prior art Intel microprocessors, this slows the decoding of the prefixed form of jump instruction because of the extra clock required to decode the prefix byte.
It is desirable to reduce the delay caused by prefix bytes for jump instructions in a microprocessor using the Intel instruction set.